home *** CD-ROM | disk | FTP | other *** search
/ Sprite 1984 - 1993 / Sprite 1984 - 1993.iso / src / kernel / net / net.h < prev    next >
C/C++ Source or Header  |  1992-12-18  |  4KB  |  114 lines

  1. /*
  2.  * net.h --
  3.  *
  4.  *    This defines the external definitions for the networking software.
  5.  *
  6.  * Copyright 1985, 1988 Regents of the University of California
  7.  * Permission to use, copy, modify, and distribute this
  8.  * software and its documentation for any purpose and without
  9.  * fee is hereby granted, provided that the above copyright
  10.  * notice appear in all copies.  The University of California
  11.  * makes no representations about the suitability of this
  12.  * software for any purpose.  It is provided "as is" without
  13.  * express or implied warranty.
  14.  *
  15.  *
  16.  * $Header: /cdrom/src/kernel/Cvsroot/kernel/net/net.h,v 9.15 92/06/08 22:49:34 jhh Exp $ SPRITE (Berkeley)
  17.  */
  18.  
  19. #ifndef _NET
  20. #define _NET
  21.  
  22. #ifdef KERNEL
  23. #include <sprite.h>
  24. #include <user/net.h>
  25. #include <syncTypes.h>
  26. #include <netTypes.h>
  27. #include <user/netEther.h>
  28. #include <user/netInet.h>
  29. #include <user/netUltra.h>
  30.  
  31. #ifdef ds5000
  32. #include <user/netFDDI.h>
  33. #endif
  34.  
  35. #include <netRoute.h>
  36. #else
  37. #include <sprite.h>
  38. #include <net.h>
  39. #include <kernel/syncTypes.h>
  40. #include <kernel/netTypes.h>
  41. #include <netEther.h>
  42. #include <netInet.h>
  43. #include <netUltra.h>
  44. #include <kernel/netRoute.h>
  45. #endif
  46.  
  47. extern int        net_NetworkHeaderSize[];
  48.  
  49. extern void Net_Init _ARGS_((void));
  50. extern void Net_Bin _ARGS_((void));
  51. extern void Net_Reset _ARGS_((Net_Interface *interPtr));
  52. extern void Net_Input _ARGS_((Net_Interface *interPtr, Address packetPtr, 
  53.             int packetLength));
  54. extern ReturnStatus Net_Output _ARGS_((int spriteID, 
  55.             Net_ScatterGather *gatherPtr, int gatherLength, 
  56.             Sync_Semaphore *mutexPtr, Net_Route *routePtr));
  57. extern ReturnStatus Net_RawOutput _ARGS_((Net_Interface *interPtr, 
  58.             Address headerPtr, 
  59.             Net_ScatterGather *gatherPtr, int gatherLength));
  60. extern void Net_RecvPoll _ARGS_((Net_Interface *interPtr));
  61. extern ReturnStatus Net_RawOutputSync _ARGS_((Net_Interface *interPtr, 
  62.             Address headerPtr, Net_ScatterGather *gatherPtr, 
  63.             int gatherLength));
  64. extern int Net_Intr _ARGS_((Net_Interface *interPtr));
  65. extern void Net_GatherCopy _ARGS_((register Net_ScatterGather *scatterGatherPtr,
  66.             int scatterGatherLength, register Address destAddr));
  67. extern void Net_SetPacketHandler _ARGS_((Net_Interface *interPtr, 
  68.             void (*handler)()));
  69. extern void Net_RemovePacketHandler _ARGS_((Net_Interface *interPtr));
  70. extern ReturnStatus Net_InstallRouteStub _ARGS_((int size, 
  71.             Net_UserRoute *userRoutePtr));
  72. extern ReturnStatus Net_GetRoutes _ARGS_((int firstID, int lastID, 
  73.             int infoSize, Address bufferPtr, int *buffersUsedPtr));
  74.  
  75. #ifdef KERNEL
  76. extern ReturnStatus Net_InstallRoute _ARGS_((int spriteID, 
  77.             Net_Interface *interPtr, Net_Address *netAddressPtr, 
  78.             int protocol, char *hostname, char *machType, 
  79.             int minRpc, int maxRpc,
  80.             ClientData userData));
  81. #endif
  82. extern void Net_DeleteRoute _ARGS_((Net_Route *routePtr));
  83. extern void Net_SpriteIDToName _ARGS_((int spriteID, int bufferLen, 
  84.             char *buffer));
  85. extern void Net_SpriteIDToMachType _ARGS_((int spriteID, int bufferLen, 
  86.             char *buffer));
  87. extern void Net_RouteInit _ARGS_((void));
  88. extern void Net_ReleaseRoute _ARGS_((Net_Route *routePtr));
  89. extern Net_Route *Net_IDToRoute _ARGS_((int spriteID, int index, Boolean doArp,
  90.             Sync_Semaphore *mutexPtr, int size));
  91. extern int Net_AddrToID _ARGS_((Net_Address *addressPtr));
  92. extern Net_Interface *Net_GetInterface _ARGS_((Net_NetworkType netType, 
  93.             int number));
  94. extern Net_Interface *Net_NextInterface _ARGS_((Boolean running, 
  95.             int *indexPtr));
  96. extern void Net_HostPrint _ARGS_((int spriteID, char *string));
  97. extern void Net_ArpInit _ARGS_((void));
  98. extern ReturnStatus Net_Arp _ARGS_((int spriteID, Sync_Semaphore *mutexPtr));
  99. extern int  Net_RevArp _ARGS_((Net_Route *routePtr, int protocol, 
  100.             Net_Address *netAddressPtr, Sync_Semaphore *mutexPtr));
  101. extern void Net_HdrDestString _ARGS_((Net_NetworkType netType, int protocol, 
  102.             Address headerPtr, int bufferLen, char *buffer));
  103. extern int  Net_HdrToID _ARGS_((Net_NetworkType netType, int protocol,
  104.             Address headerPtr));
  105. extern ReturnStatus    Net_IDToRouteOldStub _ARGS_((int spriteID, int size,
  106.                 Address argPtr));
  107. extern ReturnStatus    Net_GetStats _ARGS_((Net_NetworkType netType,
  108.                 Net_Stats *statPtr));
  109. extern Net_Interface    *Net_GetInterfaceByAddr _ARGS_((
  110.                 Net_Address *netAddressPtr));
  111. extern ReturnStatus    Net_DeleteRouteStub _ARGS_((int routeID));
  112.  
  113. #endif /* _NET */
  114.